//
//  UserManager.h
//  CBT
//
//  Created by Mr.Zhang on 2018/12/3.
//  Copyright © 2018 Mr.Zhang. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "InvitationRevenueModel.h"

#import "InvestDetailsModel.h"

#import "InvitedDetailsModel.h"

#import "RewardRecordModel.h"

typedef void (^manager_result_block)(id data, HttpRequestResult result,NSString *msg);

NS_ASSUME_NONNULL_BEGIN

@interface UserManager : NSObject

/** 修改用户昵称 */
+(void)changeUserNameWithUserId:(NSString *)userID nickName:(NSString *)nickName block:(manager_result_block)block;

/** 我的存单列表 */
+(void)investListWithUserId:(NSString *)userID page:(NSString *)page block:(manager_result_block)block;

// 已完成订单列表
+(void)getUserOrderRecordWithUserId:(NSString *)userID page:(NSString *)page block:(manager_result_block)block;
// 地址列表
+(void)getAddressRecordWithUserId:(NSString *)userID page:(NSString *)page block:(manager_result_block)block;

// 新增地址
+ (void)addUserAddressWithUserId:(NSString *)userID paras:(NSDictionary *)param block:(manager_result_block)block;

// 修改地址
+ (void)updateUserAddressWithUserId:(NSString *)userID params:(NSDictionary *)param block:(manager_result_block)block;

// 兑换
+ (void)doPCExchangeInfo:(NSDictionary *)param  block:(manager_result_block)block;

// pc转账
+ (void)userDoPCChangeWithUserID:(NSString *)userId  coinId:(NSString *)coinId address:(NSString *)address value:(NSString *)value remark:(NSString *)remark feeRatio:(NSString *)feeRatio password:(NSString *)password block:(manager_result_block)block;

// 购买 addUserOrder
+ (void)userDoPCChangeWithUserInfo:(NSDictionary *)param block:(manager_result_block)block;

/**
 我的存单提取本金或收益

 @param userID 用户ID
 @param investId 存单ID
 @param block 成功回调
 */
+(void)drawCapitalOrIncomeWithUserId:(NSString *)userID investId:(NSString *)investId block:(manager_result_block)block;

/**
 获取本金获取存单状态
 
 @param userID 用户ID
 @param investId 存单ID
 @param block 成功回调
 */
+(void)getInvestStateWithUserId:(NSString *)userID investId:(NSString *)investId block:(manager_result_block)block;

/**
 用户投资

 @param userID 用户ID
 @param coinId 币种ID
 @param value 投资个数
 @param day 投资天数
 @param block 成功回调
 */
+(void)userDoInvestWithUserId:(NSString *)userID coinId:(NSString *)coinId value:(NSString *)value day:(NSString *)day block:(manager_result_block)block;


/**
 用户提现

 @param userID 用户ID
 @param walleatAdress 待转账的钱包地址
 @param value 提出cbt的个数
 @param block 成功回调
 */
+(void)userdrawMoneyByAlipayWithUserId:(NSString *)userID walleatAdress:(NSString *)walleatAdress value:(NSString *)value block:(manager_result_block)block;

/**
 获取用户资产

 @param userID 用户ID
 @param block 成功回调
 */
+(void)getAssetMsgWithUserId:(NSString *)userID block:(manager_result_block)block;


/**
 用户投资记录

 @param userID 用户ID
 @param page 投资记录页数
 @param block 成功回调
 */
+(void)getInvestRecordWithUserId:(NSString *)userID page:(NSString *)page block:(manager_result_block)block;
// 昨日收益
+(void)getYestodayInvestRecordWithUserId:(NSString *)userID page:(NSString *)page block:(manager_result_block)block;

/**
 获取用户充值地址

 @param userID 用户ID
 @param coinId 币种ID
 @param block 成功回调
 */
+(void)getUserDoRechargeWithUserId:(NSString *)userID coinId:(NSString *)coinId block:(manager_result_block)block;

/**
 用户充值记录
 
 @param userID 用户ID
 @param coinId 币种ID
 @param page 充值记录页数
 @param block 成功回调
 */
+(void)getRechargeRecordWithUserId:(NSString *)userID coinId:(NSString *)coinId page:(NSString *)page block:(manager_result_block)block;


/**
 用户提现记录

 @param userID 用户ID
 @param page 提现记录页数
 @param block 成功回调
 */
+(void)getDrawRecordListWithUserId:(NSString *)userID page:(NSString *)page block:(manager_result_block)block;


/**
 上传身份证

 @param userID 用户ID
 @param type 1 用户身份证正面；2 用户身份证反面
 @param image 照片
 @param block 成功回调
 */
+(void)setUserIDcardWithUserId:(NSString *)userID type:(NSString *)type image:(UIImage *)image block:(manager_result_block)block;


/**
 检查身份证状态

 @param userID 用户ID
 @param block 成功回调
 */
+(void)checkIDcardWithUserId:(NSString *)userID block:(manager_result_block)block;


/**
 获取投资利率

 @param coinId 币种ID
 @param block 成功回调
 */
+(void)getInvestRatioWithCoinId:(NSString *)coinId block:(manager_result_block)block;


/**
 获取用户提现手续费率

 @param block 成功回调
 */
+(void)getUserDrawRateWithBlock:(manager_result_block)block;


/**
 用户签到

 @param block 成功回调
 */
+(void)getUserSignInByuserIdWithBlock:(manager_result_block)block;

/**
 用户签到
 
 @param block 成功回调
 */
+(void)checkIDcardStatusWithBlock:(manager_result_block)block;

/**
 推荐投资奖励率
 
 @param block 成功回调
 */
+(void)getRewardRate:(manager_result_block)block;


/**
 推荐奖励记录

 @param userID 用户ID
 @param page 用户充值记录页数
 @param block 成功回调
 */
+(void)getRewardRecordWithUserId:(NSString *)userID page:(NSString *)page block:(manager_result_block)block;


/**
 用户意见反馈

 @param content 反馈内容
 @param wxId 用户微信
 @param phone 用户手机号
 @param block 成功回调
 */
+(void)getUserFeedBackWithContent:(NSString *)content wxId:(NSString *)wxId phone:(NSString *)phone block:(manager_result_block)block;


/**
 用户邀请收益

 @param userId 用户ID
 @param page 用户邀请收益页数
 @param block 成功回调
 */
+(void)getInvitedIncomeWithUserId:(NSString *)userId page:(NSString *)page block:(manager_result_block)block;

/**
 用户投资详情
 
 @param userId 用户ID
 @param page 用户邀请收益页数
 @param block 成功回调
 */
+(void)getInvestDetailsWithUserId:(NSString *)userId page:(NSString *)page block:(manager_result_block)block;

/**
 用户邀请详情
 
 @param userId 用户ID
 @param page 用户邀请详情页数
 @param block 成功回调
 */
+(void)getInvitedDetailsWithUserId:(NSString *)userId page:(NSString *)page block:(manager_result_block)block;


/**
 获取矿工费率

 @param coinId 币种ID
 @param block 成功回调
 */
+(void)getMinerRateWithCoinId:(NSString *)coinId  block:(manager_result_block)block;


/**
 校验支付密码

 @param userID   用户ID
 @param passWord 支付密码
 @param block    成功回调
 */
+ (void)checkPayPassWordWithUserID:(NSString *)userID  passWord:(NSString *)passWord block:(manager_result_block)block;


/**
 用户转账

 @param userId   用户ID
 @param coinId   币种ID
 @param address  转账地址
 @param value    转账数量
 @param remark   备注
 @param feeRatio 矿工费率
 @param block    成功回调
 */
+ (void)userDoChangeWithUserID:(NSString *)userId  coinId:(NSString *)coinId address:(NSString *)address value:(NSString *)value remark:(NSString *)remark feeRatio:(NSString *)feeRatio block:(manager_result_block)block;


/**
 获取转账记录

 @param userId 用户ID
 @param coinId 币种ID
 @param page   页码（分页）
 @param block  成功回调
 */
+ (void)getChangeRecordWithUserID:(NSString *)userId  coinId:(NSString *)coinId page:(NSString *)page block:(manager_result_block)block;


/**
 用户续投
 @param block  成功回调
 */
+(void)getUserContinueInvestWithInvestId:(NSString *)investId block:(manager_result_block)block;
@end

NS_ASSUME_NONNULL_END
